package com.zutassociation.system.service;

import com.zutassociation.system.domain.Trends;

import java.util.List;

/**
 * 动态服务层
 * @author 黄玉东
 * @version 1.0
 * @date 2021/5/9 17:50
 */
public interface TrendsService {


    /**
     * 查询动态信息
     *
     * @param trendsId 动态ID
     * @return 动态信息
     */
    public Trends selectTrendsById(Long trendsId);

    /**
     * 查询发送人动态信息
     *
     * @param userId 动态ID
     * @return 动态信息
     */
    public Trends selectTrendsByUserId(Long userId);

    /**
     * 查询动态列表
     *
     * @param trends 动态信息
     * @return 动态集合
     */
    public List<Trends> selectTrendsList(Trends trends);

    /**
     * 新增动态
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int insertTrends(Trends trends);

    /**
     * 修改动态
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrends(Trends trends);

    /**
     * 修改动态举报状态
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsReport(Trends trends);

    /**
     * 修改动态可用状态
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsStatus(Trends trends);

    /**
     * 浏览量+1
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsClick(Trends trends);

    /**
     * 点赞量+1
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsFabulous(Trends trends);

    /**
     * 收藏量+1
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsCollection(Trends trends);

    /**
     * 回复量+1
     *
     * @param trends 动态信息
     * @return 结果
     */
    public int updateTrendsReply(Trends trends);
    public int updateTrendsReplydel(Trends trends);

    /**
     * 批量删除动态
     *
     * @param trendsId 动态ID
     * @return 结果
     */
    public int deleteTrendsById(Long trendsId);

    /**
     * 批量删除动态信息
     *
     * @param trendsIds 需要删除的动态ID
     * @return 结果
     */
    public int deleteTrendsByIds(Long[] trendsIds);

    /**
     * 批量修改动态举报状态为 1 成功
     *
     * @param trendsIds 需要阅读的动态ID
     * @return 结果
     */
    public int deleteTrendsByReport1(Long[] trendsIds);

    /**
     * 批量修改动态举报状态为 2 不成功
     *
     * @param trendsIds 需要阅读的动态ID
     * @return 结果
     */
    public int deleteTrendsByReport2(Long[] trendsIds);


}
